\Slide{Dataflow analysis concepts}{
\B
  \item Symbolically execute method
    \B
    \item Using CFG, BasicBlocks, InstructionHandles as
          representation of method
    \E
  \item Estimate facts that are true at each location in method
  \item Facts (dataflow values) form a lattice
   \B
   \item Meet operator ($\diamond$) models merging of
         control paths
   \item Top value ($\top$): Value $\diamond$ $\top$ = Value for any Value
   \item Bottom value ($\bot$): Value $\diamond$ $\bot$ = $\bot$ for any Value
   \E
  \item Block transfer function models effect of executing a basic block
    \B
    \item Edge transfer function models effect of taking a control edge
    \E
\E
}
